KEY_RELEASED,
MODIFIERS,
IM_UPDATE,
+ FOCUS_IN,
+ FOCUS_OUT,
N_SIGNALS
};
guint16 keycode;
guint keyval;
+ if (event_type == GDK_FOCUS_CHANGE)
+ {
+ gboolean focus_in;
+
+ if (gdk_event_get_focus_in (event, &focus_in) && focus_in)
+ g_signal_emit (controller, signals[FOCUS_IN], 0);
+ else
+ g_signal_emit (controller, signals[FOCUS_OUT], 0);
+
+ return FALSE;
+ }
+
if (event_type != GDK_KEY_PRESS && event_type != GDK_KEY_RELEASE)
return FALSE;
0, NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+ signals[FOCUS_IN] =
+ g_signal_new (I_("focus-in"),
+ GTK_TYPE_EVENT_CONTROLLER_KEY,
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+ signals[FOCUS_OUT] =
+ g_signal_new (I_("focus-out"),
+ GTK_TYPE_EVENT_CONTROLLER_KEY,
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
static void